package com.ruoyi.supplier.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品规格业务对象
 *
 * @author ruoyi
 * @date 2023-09-18
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ProductSkuBo extends BaseEntity {

    /**
     * 产品规格id
     */
    @NotNull(message = "产品规格id不能为空", groups = { EditGroup.class })
    private Integer productSkuId;

    /**
     * 产品id
     */
    @NotNull(message = "产品id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer productId;

    /**
     * 产品sku记录索引 (由规格值id组成,下划线分隔)
     */
    @NotBlank(message = "产品sku记录索引 (由规格值id组成,下划线分隔)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String specSkuId;

    /**
     * 产品编码
     */
    @NotBlank(message = "产品编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productNo;

    /**
     * 产品价格
     */
    @NotNull(message = "产品价格不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal productPrice;

    /**
     * 产品划线价
     */
    @NotNull(message = "产品划线价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal linePrice;

    /**
     * 产品底价
     */
    @NotNull(message = "产品底价不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lowPrice;

    /**
     * 当前库存数量
     */
    @NotNull(message = "当前库存数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer stockNum;

    /**
     * 产品重量(Kg)
     */
    @NotBlank(message = "产品重量(Kg)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String productWeight;

    /**
     * 商户id
     */
    @NotNull(message = "商户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer merchantId;

    /**
     * sku属性（json格式）
     */
    @NotBlank(message = "sku属性（json格式）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String skuAttrs;

    /**
     * 主图
     */
    @NotBlank(message = "主图不能为空", groups = { AddGroup.class, EditGroup.class })
    private String image;

    /**
     * 主图类型（1图片 2视频）
     */
    @NotNull(message = "主图类型（1图片 2视频）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer imageType;

    /**
     * 视频链接
     */
    @NotBlank(message = "视频链接不能为空", groups = { AddGroup.class, EditGroup.class })
    private String video;

    /**
     * 仓库id
     */
    @NotNull(message = "仓库id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer stockId;

    /**
     * 上下架状态（0未上架 1已上架）
     */
    @NotNull(message = "上下架状态（0未上架 1已上架）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;


}
